/*
 * Copyright (c) 2018-2999 湖南洛云网络科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.app.dto.ProdCommDataDto;
import com.yami.shop.bean.app.dto.ProdCommDto;
import com.yami.shop.bean.app.param.ProdCommParam;
import com.yami.shop.bean.model.OrderItem;
import com.yami.shop.bean.model.ProdComm;

import java.util.List;


/**
 * 商品评论
 *
 * @author xwc
 * @date 2019-04-19 10:43:57
 */
public interface ProdCommService extends IService<ProdComm> {
    /**
     * 商品评论好评率，评分数量等信息
     * @param prodId 商品id
     * @return 商品评论好评率，评分数量等信息
     */
    ProdCommDataDto getProdCommDataByProdId(Long prodId);

    /**
     * 获取用户的各个商品评论列表
     * @param page 分页参数
     * @param userId 用户id
     * @return 商品评论列表
     */
    IPage<ProdCommDto> getProdCommDtoPageByUserId(Page page,String userId);

    /**
     * 获取商品的各个用户评论列表
     * @param page 分页参数
     * @param prodId 商品id
     * @param evaluate 评分
     * @return 商品评论列表
     */
    IPage<ProdCommDto> getProdCommDtoPageByProdId(Page page, Long prodId, Integer evaluate);

    /**
     * 获取店铺中的商品评论信息
     * @param page 分页参数
     * @param prodComm 查询参数
     * @param shopId 店铺id
     * @return 评论信息
     */
    IPage<ProdComm> getProdCommPage(Page page,ProdComm prodComm,Long shopId);

    /**
     * 评论
     * @param orderItem 订单项
     * @param prodCommParam 评论
     */
    void comm(OrderItem orderItem, ProdCommParam prodCommParam);
}
